import { NgModule, Type } from '@angular/core';
import { SharedModule } from '@shared';

// chang password page
import { ChangePasswordComponent } from '../layout/change/change.component';
// dashboard pages
import { DashboardComponent } from './dashboard/dashboard.component';
// single pages
import { CallbackComponent } from './passport/callback.component';
import { ForgotComponent } from './passport/forgot/forgot.component';
import { UserLockComponent } from './passport/lock/lock.component';
// passport pages
import { UserLoginComponent } from './passport/login/login.component';
import { UserRegisterResultComponent } from './passport/register-result/register-result.component';
import { UserRegisterComponent } from './passport/register/register.component';
import { ResetPasswordComponent } from './passport/reset/reset.component';
import { RouteRoutingModule } from './routes-routing.module';
import { ProfileBaseComponent } from './system/account/base/base.component';
import { ProfileComponent } from './system/account/profile.component';
import { ProfileSecurityComponent } from './system/account/security/security.component';

const COMPONENTS: Array<Type<void>> = [
  DashboardComponent,
  // passport pages
  UserLoginComponent,
  UserRegisterComponent,
  UserRegisterResultComponent,
  ForgotComponent,
  ResetPasswordComponent,
  // single pages
  CallbackComponent,
  UserLockComponent,
  // profile pages
  ProfileComponent,
  ProfileBaseComponent,
  ProfileSecurityComponent
];
const COMPONENTS_NOROUNT = [ChangePasswordComponent];
@NgModule({
  imports: [SharedModule, RouteRoutingModule],
  declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT]
})
export class RoutesModule {}
